<!-- HTML header for doxygen 1.8.20-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
	<meta http-equiv="X-UA-Compatible" content="IE=9"/>
	<meta name="generator" content="Doxygen 1.9.4"/>
	<meta name="viewport" content="width=device-width, initial-scale=1"/>
	<title>Raspberry Pi Pico SDK: include/pico/async_context.h File Reference</title>
	<!-- <link href="tabs.css" rel="stylesheet" type="text/css"/> -->
	<script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript" src="dynsections.js"></script>
	<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
	<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
	<link href="doxygen.css" rel="stylesheet" type="text/css" />
	<link href="normalise.css" rel="stylesheet" type="text/css"/>
<link href="main.css" rel="stylesheet" type="text/css"/>
<link href="styles.css" rel="stylesheet" type="text/css"/>
</head>
<body>
	<div class="navigation-mobile">
		<div class="logo--mobile">
			<a href="/"><img src="logo-mobile.svg" alt="Raspberry Pi"></a>
		</div>
		<div class="navigation-toggle">
			<span class="line-1"></span>
			<span class="line-2">
				<p>Menu Toggle</p>
			</span>
			<span class="line-3"></span>
		</div>
	</div>
	<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
		<div class="logo">
			<a href="index.html"> <img src="logo.svg" alt="Raspberry Pi"></a>
			<span style="display: inline-block; margin-top: 10px;">
				v2.0.0
			</span>
		</div>
		<div class="navigation-footer">
			<img src="logo-mobile.svg" alt="Raspberry Pi">
			<a href="https://www.raspberrypi.com/" target="_blank">By Raspberry Pi Ltd</a>
		</div>
<!-- 		<div class="search">
			<form>
				<input type="search" name="search" id="search" placeholder="Search">
				<input type="submit" value="Search">
			</form>
		</div> -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('async__context_8h.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle"><div class="title">async_context.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="pico_8h_source.html">pico.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="common_2pico__time_2include_2pico_2time_8h_source.html">pico/time.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for async_context.h:</div>
<div class="dyncontent">
<div class="center"><img src="async__context_8h__incl.png" border="0" usemap="#ainclude_2pico_2async__context_8h" alt=""/></div>
<map name="ainclude_2pico_2async__context_8h" id="ainclude_2pico_2async__context_8h">
<area shape="rect" title=" " alt="" coords="404,5,547,47"/>
<area shape="rect" href="pico_8h.html" title=" " alt="" coords="411,244,473,271"/>
<area shape="rect" href="common_2pico__time_2include_2pico_2time_8h.html" title=" " alt="" coords="471,95,565,121"/>
<area shape="rect" href="common_2pico__base__headers_2include_2pico_2types_8h_source.html" title=" " alt="" coords="158,468,259,495"/>
<area shape="rect" title=" " alt="" coords="252,319,365,345"/>
<area shape="rect" href="common_2pico__base__headers_2include_2pico_2config_8h_source.html" title=" " alt="" coords="390,319,494,345"/>
<area shape="rect" href="platform_8h.html" title=" " alt="" coords="596,319,717,345"/>
<area shape="rect" href="error_8h_source.html" title=" " alt="" coords="741,319,836,345"/>
<area shape="rect" href="assert_8h_source.html" title=" " alt="" coords="5,543,111,569"/>
<area shape="rect" title=" " alt="" coords="74,617,157,644"/>
<area shape="rect" title=" " alt="" coords="211,543,281,569"/>
<area shape="rect" title=" " alt="" coords="306,543,381,569"/>
<area shape="rect" title=" " alt="" coords="173,393,337,420"/>
<area shape="rect" href="compiler_8h_source.html" title=" " alt="" coords="362,393,543,420"/>
<area shape="rect" href="sections_8h_source.html" title=" " alt="" coords="567,393,746,420"/>
<area shape="rect" href="panic_8h_source.html" title=" " alt="" coords="770,393,930,420"/>
<area shape="rect" title=" " alt="" coords="954,393,1165,420"/>
<area shape="rect" title=" " alt="" coords="1189,393,1340,420"/>
<area shape="rect" title=" " alt="" coords="357,468,548,495"/>
<area shape="rect" href="rp2__common_2hardware__timer_2include_2hardware_2timer_8h.html" title=" " alt="" coords="521,169,654,196"/>
<area shape="rect" title=" " alt="" coords="497,244,678,271"/>
<area shape="rect" title=" " alt="" coords="703,244,872,271"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="async__context_8h__dep__incl.png" border="0" usemap="#ainclude_2pico_2async__context_8hdep" alt=""/></div>
<map name="ainclude_2pico_2async__context_8hdep" id="ainclude_2pico_2async__context_8hdep">
<area shape="rect" title=" " alt="" coords="695,5,837,47"/>
<area shape="rect" href="async__context__base_8h_source.html" title=" " alt="" coords="5,102,148,143"/>
<area shape="rect" href="async__context__freertos_8h_source.html" title=" " alt="" coords="172,102,320,143"/>
<area shape="rect" href="async__context__poll_8h_source.html" title=" " alt="" coords="344,102,487,143"/>
<area shape="rect" href="async__context__threadsafe__background_8h_source.html" title=" " alt="" coords="511,95,666,151"/>
<area shape="rect" href="btstack__cyw43_8h.html" title=" " alt="" coords="690,102,842,143"/>
<area shape="rect" href="btstack__run__loop__async__context_8h_source.html" title=" " alt="" coords="867,102,1065,143"/>
<area shape="rect" href="cyw43__arch_8h.html" title=" " alt="" coords="1090,102,1237,143"/>
<area shape="rect" href="lwip__freertos_8h.html" title=" " alt="" coords="1261,109,1463,136"/>
<area shape="rect" href="lwip__nosys_8h.html" title=" " alt="" coords="1487,109,1675,136"/>
</map>
</div>
</div>
<p><a href="async__context_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structasync__work__on__timeout.html">async_work_on_timeout</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A "timeout" instance used by an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>.  <a href="structasync__work__on__timeout.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structasync__when__pending__worker.html">async_when_pending_worker</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A "worker" instance used by an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>.  <a href="structasync__when__pending__worker.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structasync__context__type.html">async_context_type</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> type, providing methods common to that type.  <a href="structasync__context__type.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structasync__context.html">async_context</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base structure type of all async_contexts. For details about its use, see <a class="el" href="group__pico__async__context.html">pico_async_context</a>.  <a href="structasync__context.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a02f64b9f7e0aafbdc02c78917dc9e224"><td class="memItemLeft" align="right" valign="top"><a id="a02f64b9f7e0aafbdc02c78917dc9e224" name="a02f64b9f7e0aafbdc02c78917dc9e224"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ASYNC_CONTEXT_FLAG_CALLBACK_FROM_NON_IRQ</b>&#160;&#160;&#160;0x1</td></tr>
<tr class="separator:a02f64b9f7e0aafbdc02c78917dc9e224"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabf47be02f0332059b6b0d3bd5cd7ef2"><td class="memItemLeft" align="right" valign="top"><a id="aabf47be02f0332059b6b0d3bd5cd7ef2" name="aabf47be02f0332059b6b0d3bd5cd7ef2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ASYNC_CONTEXT_FLAG_CALLBACK_FROM_IRQ</b>&#160;&#160;&#160;0x2</td></tr>
<tr class="separator:aabf47be02f0332059b6b0d3bd5cd7ef2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8335203dfc05e4ef173c6f53558e205"><td class="memItemLeft" align="right" valign="top"><a id="ac8335203dfc05e4ef173c6f53558e205" name="ac8335203dfc05e4ef173c6f53558e205"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ASYNC_CONTEXT_FLAG_POLLED</b>&#160;&#160;&#160;0x4</td></tr>
<tr class="separator:ac8335203dfc05e4ef173c6f53558e205"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a3728ca5d4a0c859eddfb6b6bca7ba5ef"><td class="memItemLeft" align="right" valign="top"><a id="a3728ca5d4a0c859eddfb6b6bca7ba5ef" name="a3728ca5d4a0c859eddfb6b6bca7ba5ef"></a>
typedef struct <a class="el" href="structasync__context.html">async_context</a>&#160;</td><td class="memItemRight" valign="bottom"><b>async_context_t</b></td></tr>
<tr class="separator:a3728ca5d4a0c859eddfb6b6bca7ba5ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74aa4914d98b190d2d4d84d7ff6b469e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structasync__work__on__timeout.html">async_work_on_timeout</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">async_at_time_worker_t</a></td></tr>
<tr class="memdesc:ga74aa4914d98b190d2d4d84d7ff6b469e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A "timeout" instance used by an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>.  <a href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">More...</a><br /></td></tr>
<tr class="separator:ga74aa4914d98b190d2d4d84d7ff6b469e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga975e8fa20352873b7ac76b06a497eb2b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structasync__when__pending__worker.html">async_when_pending_worker</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga975e8fa20352873b7ac76b06a497eb2b">async_when_pending_worker_t</a></td></tr>
<tr class="memdesc:ga975e8fa20352873b7ac76b06a497eb2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">A "worker" instance used by an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>.  <a href="group__pico__async__context.html#ga975e8fa20352873b7ac76b06a497eb2b">More...</a><br /></td></tr>
<tr class="separator:ga975e8fa20352873b7ac76b06a497eb2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1dd6a1433c144f4c4ea28d54176d9fc7"><td class="memItemLeft" align="right" valign="top">
typedef struct <a class="el" href="structasync__context__type.html">async_context_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>async_context_type_t</b></td></tr>
<tr class="memdesc:ga1dd6a1433c144f4c4ea28d54176d9fc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> type, providing methods common to that type. <br /></td></tr>
<tr class="separator:ga1dd6a1433c144f4c4ea28d54176d9fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a550cb4231d535863c55643bbd2d3c6ba"><td class="memItemLeft" align="right" valign="top"><a id="a550cb4231d535863c55643bbd2d3c6ba" name="a550cb4231d535863c55643bbd2d3c6ba"></a>enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>ASYNC_CONTEXT_POLL</b> = 1
, <b>ASYNC_CONTEXT_THREADSAFE_BACKGROUND</b> = 2
, <b>ASYNC_CONTEXT_FREERTOS</b> = 3
 }</td></tr>
<tr class="separator:a550cb4231d535863c55643bbd2d3c6ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga404d5e6a8ef79159c692dc040f2ded44"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga404d5e6a8ef79159c692dc040f2ded44">async_context_acquire_lock_blocking</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
<tr class="memdesc:ga404d5e6a8ef79159c692dc040f2ded44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acquire the <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> lock.  <a href="group__pico__async__context.html#ga404d5e6a8ef79159c692dc040f2ded44">More...</a><br /></td></tr>
<tr class="separator:ga404d5e6a8ef79159c692dc040f2ded44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada9eb6dbc0442ba9cbb44a41526f3b9f"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gada9eb6dbc0442ba9cbb44a41526f3b9f">async_context_release_lock</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
<tr class="memdesc:gada9eb6dbc0442ba9cbb44a41526f3b9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> lock.  <a href="group__pico__async__context.html#gada9eb6dbc0442ba9cbb44a41526f3b9f">More...</a><br /></td></tr>
<tr class="separator:gada9eb6dbc0442ba9cbb44a41526f3b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga032285b9d1a4aa325813cdbcc1f00a75"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga032285b9d1a4aa325813cdbcc1f00a75">async_context_lock_check</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
<tr class="memdesc:ga032285b9d1a4aa325813cdbcc1f00a75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assert if the caller does not own the lock for the <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>.  <a href="group__pico__async__context.html#ga032285b9d1a4aa325813cdbcc1f00a75">More...</a><br /></td></tr>
<tr class="separator:ga032285b9d1a4aa325813cdbcc1f00a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4b239c998978b97eabe2aa2ad659720"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gaa4b239c998978b97eabe2aa2ad659720">async_context_execute_sync</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, uint32_t(*func)(void *param), void *param)</td></tr>
<tr class="memdesc:gaa4b239c998978b97eabe2aa2ad659720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute work synchronously on the core the <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> belongs to.  <a href="group__pico__async__context.html#gaa4b239c998978b97eabe2aa2ad659720">More...</a><br /></td></tr>
<tr class="separator:gaa4b239c998978b97eabe2aa2ad659720"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad4ea52957b11c70d908e5af6f0c715ab"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gad4ea52957b11c70d908e5af6f0c715ab">async_context_add_at_time_worker</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">async_at_time_worker_t</a> *worker)</td></tr>
<tr class="memdesc:gad4ea52957b11c70d908e5af6f0c715ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an "at time" worker to a context.  <a href="group__pico__async__context.html#gad4ea52957b11c70d908e5af6f0c715ab">More...</a><br /></td></tr>
<tr class="separator:gad4ea52957b11c70d908e5af6f0c715ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ef9fba4dd680a576d94c82b40b10fc3"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga8ef9fba4dd680a576d94c82b40b10fc3">async_context_add_at_time_worker_at</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">async_at_time_worker_t</a> *worker, <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> at)</td></tr>
<tr class="memdesc:ga8ef9fba4dd680a576d94c82b40b10fc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an "at time" worker to a context.  <a href="group__pico__async__context.html#ga8ef9fba4dd680a576d94c82b40b10fc3">More...</a><br /></td></tr>
<tr class="separator:ga8ef9fba4dd680a576d94c82b40b10fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0792d86734a6e30b2f043b8eba42438"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gae0792d86734a6e30b2f043b8eba42438">async_context_add_at_time_worker_in_ms</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">async_at_time_worker_t</a> *worker, uint32_t ms)</td></tr>
<tr class="memdesc:gae0792d86734a6e30b2f043b8eba42438"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an "at time" worker to a context.  <a href="group__pico__async__context.html#gae0792d86734a6e30b2f043b8eba42438">More...</a><br /></td></tr>
<tr class="separator:gae0792d86734a6e30b2f043b8eba42438"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga58c96cc02b63e12874cae38442c7c4dd"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga58c96cc02b63e12874cae38442c7c4dd">async_context_remove_at_time_worker</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">async_at_time_worker_t</a> *worker)</td></tr>
<tr class="memdesc:ga58c96cc02b63e12874cae38442c7c4dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an "at time" worker from a context.  <a href="group__pico__async__context.html#ga58c96cc02b63e12874cae38442c7c4dd">More...</a><br /></td></tr>
<tr class="separator:ga58c96cc02b63e12874cae38442c7c4dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d42179771bcc8c99124c43dcc7b1350"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga9d42179771bcc8c99124c43dcc7b1350">async_context_add_when_pending_worker</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga975e8fa20352873b7ac76b06a497eb2b">async_when_pending_worker_t</a> *worker)</td></tr>
<tr class="memdesc:ga9d42179771bcc8c99124c43dcc7b1350"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a "when pending" worker to a context.  <a href="group__pico__async__context.html#ga9d42179771bcc8c99124c43dcc7b1350">More...</a><br /></td></tr>
<tr class="separator:ga9d42179771bcc8c99124c43dcc7b1350"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72b40c2505cd08cb542c3f1759b9e1d5"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga72b40c2505cd08cb542c3f1759b9e1d5">async_context_remove_when_pending_worker</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga975e8fa20352873b7ac76b06a497eb2b">async_when_pending_worker_t</a> *worker)</td></tr>
<tr class="memdesc:ga72b40c2505cd08cb542c3f1759b9e1d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a "when pending" worker from a context.  <a href="group__pico__async__context.html#ga72b40c2505cd08cb542c3f1759b9e1d5">More...</a><br /></td></tr>
<tr class="separator:ga72b40c2505cd08cb542c3f1759b9e1d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ca51536a6f0344cfcbd30bd09fbaec2"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga1ca51536a6f0344cfcbd30bd09fbaec2">async_context_set_work_pending</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga975e8fa20352873b7ac76b06a497eb2b">async_when_pending_worker_t</a> *worker)</td></tr>
<tr class="memdesc:ga1ca51536a6f0344cfcbd30bd09fbaec2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mark a "when pending" worker as having work pending.  <a href="group__pico__async__context.html#ga1ca51536a6f0344cfcbd30bd09fbaec2">More...</a><br /></td></tr>
<tr class="separator:ga1ca51536a6f0344cfcbd30bd09fbaec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafdb322c3f1043265624988215d3a8df9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gafdb322c3f1043265624988215d3a8df9">async_context_poll</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
<tr class="memdesc:gafdb322c3f1043265624988215d3a8df9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform any pending work for polling style <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>.  <a href="group__pico__async__context.html#gafdb322c3f1043265624988215d3a8df9">More...</a><br /></td></tr>
<tr class="separator:gafdb322c3f1043265624988215d3a8df9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2f27b21dbaa264dfe59ef0f59de11db"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gad2f27b21dbaa264dfe59ef0f59de11db">async_context_wait_until</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> until)</td></tr>
<tr class="memdesc:gad2f27b21dbaa264dfe59ef0f59de11db"><td class="mdescLeft">&#160;</td><td class="mdescRight">sleep until the specified time in an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> callback safe way  <a href="group__pico__async__context.html#gad2f27b21dbaa264dfe59ef0f59de11db">More...</a><br /></td></tr>
<tr class="separator:gad2f27b21dbaa264dfe59ef0f59de11db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6207f562c0b69c7a75cd81a783eb1055"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga6207f562c0b69c7a75cd81a783eb1055">async_context_wait_for_work_until</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> until)</td></tr>
<tr class="memdesc:ga6207f562c0b69c7a75cd81a783eb1055"><td class="mdescLeft">&#160;</td><td class="mdescRight">Block until work needs to be done or the specified time has been reached.  <a href="group__pico__async__context.html#ga6207f562c0b69c7a75cd81a783eb1055">More...</a><br /></td></tr>
<tr class="separator:ga6207f562c0b69c7a75cd81a783eb1055"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae7ea2fed2b274a63455773d056f6d4c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gaae7ea2fed2b274a63455773d056f6d4c">async_context_wait_for_work_ms</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, uint32_t ms)</td></tr>
<tr class="memdesc:gaae7ea2fed2b274a63455773d056f6d4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Block until work needs to be done or the specified number of milliseconds have passed.  <a href="group__pico__async__context.html#gaae7ea2fed2b274a63455773d056f6d4c">More...</a><br /></td></tr>
<tr class="separator:gaae7ea2fed2b274a63455773d056f6d4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga604afdcf2e76f1bf99df469edfadf7eb"><td class="memItemLeft" align="right" valign="top">static uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga604afdcf2e76f1bf99df469edfadf7eb">async_context_core_num</a> (const <a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
<tr class="memdesc:ga604afdcf2e76f1bf99df469edfadf7eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the processor core this <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> belongs to.  <a href="group__pico__async__context.html#ga604afdcf2e76f1bf99df469edfadf7eb">More...</a><br /></td></tr>
<tr class="separator:ga604afdcf2e76f1bf99df469edfadf7eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66d09e106e04d70971d4fb6f09d5d949"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga66d09e106e04d70971d4fb6f09d5d949">async_context_deinit</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
<tr class="memdesc:ga66d09e106e04d70971d4fb6f09d5d949"><td class="mdescLeft">&#160;</td><td class="mdescRight">End <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> processing, and free any resources.  <a href="group__pico__async__context.html#ga66d09e106e04d70971d4fb6f09d5d949">More...</a><br /></td></tr>
<tr class="separator:ga66d09e106e04d70971d4fb6f09d5d949"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->

	<script src="main.js"></script>
</body>
</html>
